#ifndef __AW_SENSOR
#define __AW_SENSOR

class AW_Sensor : public AW_Entity {

public:
	AW_Sensor(Ontology *O,FTKBase *M);
	AW_Sensor(FILE *fp,Ontology *O,FTKBase *M);

	virtual ~AW_Sensor() {
	} /* ~AW_Sensor */ 

	virtual bool load(FILE *fp);
	virtual bool save(FILE *fp);

	virtual bool is_a(char *c);
	virtual bool is_a(Symbol *c);

	virtual void receive_msg(AW_Message *m);

	virtual List<AW_Message> *ObtainMsg(void);

	void clear_msg(void);

	virtual List<FeatureTerm> *sense(AW_Agent *a,AW_World *w);

protected:
	Ontology *m_ontology;
	FTKBase *m_memory;
	List<AW_Message> message_queue;

private:
}; /* AW_Sensor */ 

#endif

